/*题目：编写一个程序，将一个十进制数值转换为一个任意给定进制的字符串格式数值，并打
印出来。
输入格式：
每一行由两部分组成，一个是 10 进制整数(不超过 2^31-1)，一个表示目标转换进制的整
数 n（2<=n<=16），中间用空格隔开。
输出格式：
输出对应行的 n 进制数值字符串（n 从 2 到 16 之间，超过 10 进制的数字依次使用 ABCDEF）。
输入样例：
511 16
15 2
15 8
131 12
输出样例：
1FF
1111
17
AB
*/
#include <stdio.h>  
#include <stdlib.h>  
#include <string.h>  
void convertToBase(int decimal, int base, char *result) {  
    int index = 0;  
    do {  
        int remainder = decimal % base;  
        if (remainder < 10) {  
            result[index++] = '0' + remainder;  
        } else {  
            result[index++] = 'A' + (remainder - 10);  
        }  
        decimal /= base;  
    } while (decimal > 0);  
  
    for (int i = 0; i < index / 2; i++) {  
        char temp = result[i];  
        result[i] = result[index - i - 1];  
        result[index - i - 1] = temp;  
    }  
  
    result[index] = '\0';  
}  
  
int main() {  
    int decimal, base;  
    char result[33];  
  

    while (scanf("%d %d", &decimal, &base) != EOF) {  
        if (base < 2 || base > 16) {  
            printf("Invalid base!\n");  
            continue;  
        }  
  
 
        convertToBase(decimal, base, result);  
        printf("%s\n", result);  
    }  
  
    return 0;  
}